VESPA: static profiling for binary optimization

نویسندگان

چکیده

Over the past few years, there has been a surge in popularity of binary optimizers such as BOLT, Propeller, Janus and HALO. These tools use dynamic profiling information to make optimization decisions. Although effective, gathering runtime data presents developers with inconveniences unrepresentative inputs, need accommodate software modifications, longer build times. In this paper, we revisit static technique proposed by Calder et al. late 90’s, investigate its application drive optimizations, context BOLT optimizer, replacement for profiling. A core modifications al.’s original proposal, consisting new program features regression model, are sufficient enable some gains obtained through An evaluation powered our profiler on four large benchmarks (clang, GCC, MySQL PostgreSQL) yields binaries that 5.47 % faster than executables produced clang -O3.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A BINARY LEVEL SET METHOD FOR STRUCTURAL TOPOLOGY OPTIMIZATION

This paper proposes an effective algorithm based on the level set method (LSM) to solve shape and topology optimization problems. Since the conventional LSM has several limitations, a binary level set method (BLSM) is used instead. In the BLSM, the level set function can only take 1 and -1 values at convergence. Thus, it is related to phase-field methods. We don’t need to solve the Hamilton-Jac...

متن کامل

STATIC AND DYNAMIC OPPOSITION-BASED LEARNING FOR COLLIDING BODIES OPTIMIZATION

Opposition-based learning was first introduced as a solution for machine learning; however, it is being extended to other artificial intelligence and soft computing fields including meta-heuristic optimization. It not only utilizes an estimate of a solution but also enters its counter-part information into the search process. The present work applies such an approach to Colliding Bodies Optimiz...

متن کامل

Automatic Validation for Static Binary Translation

Binary translation is an important technique for porting programs as it allows applications for one platform to execute on another. The technique is widely used in virtual machines and emulators. However, binary translation is challenging because many delicate details, such as calling conventions and system calls, must be handled carefully to generate correct translated code. Identifying a mist...

متن کامل

Abstraction Recovery for Scalable Static Binary Analysis

ion Recovery for Scalable Static Binary Analysis Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Electrical and Computer Engineering

متن کامل

Leveraging Binary Translation for Heterogeneous Profiling

Heterogeneous systems, such as those including a graphics processor for general computation, are becoming increasingly common. While this increases the potential computing power that can be leveraged, it also increases the complexity of the system. This in turn increases the complexity of understanding behavior of the system, which is important when developing new software as well as when desig...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on programming languages

سال: 2021

ISSN: ['2475-1421']

DOI: https://doi.org/10.1145/3485521